package com.cmy.framework_network.apiresponse

/**
 * 输出请求结果
 */
sealed class NetworkResponse<out T : Any>  {

    /**
     * 请求成功的结果
     */
    data class Success<T : Any>(val body: T) : NetworkResponse<T>()

    /**
     * 服务器自定义的错误结果）
     */
    data class ApiError(val body: Any, val code: Int) : NetworkResponse<Nothing>()

    /**
     * 网络相关的请求错误
     */
    data class NetworkError(val message:Any, val code: Int) : NetworkResponse<Nothing>()

    /**
     * 其他未知的错误信息
     */
    data class UnknownError(val error: Throwable?) : NetworkResponse<Nothing>()
}